home *** CD-ROM | disk | FTP | other *** search
/ Top 200 Programs / Top 200 Programs.iso / Bob8 / THOMPSON / LIBERTY / PRODUCT / LB14W.EXE / CALLDLL7.BAS < prev    next >
BASIC Source File  |  1996-02-01  |  2KB  |  94 lines

  1.  
  2.  
  3.     'CALLDLL7.BAS   Show how to make a window 'Always On Top' using
  4.     'API calls
  5.  
  6.     nomainwin
  7.  
  8.     WindowWidth = 232
  9.     WindowHeight = 195
  10.     UpperLeftX = 1000
  11.  
  12.     statictext #main.statictext1, "Please select an action:", 14, 16, 192, 20
  13.     button #main, "Run File Manager", [runFileManager], UL, 30, 46, 160, 25
  14.     button #main, "Beep", [beep], UL, 30, 81, 160, 25
  15.     button #main, "Quit", [quit], UL, 30, 116, 160, 25
  16.     open "Always On Top Example" for window_nf as #main
  17.     print #main, "trapclose [quit]"
  18.  
  19.     mainH = hwnd(#main)
  20.     toTop = (-1 or 0) 'OR the negative number with 0 to call it in an API
  21.     flags = _SWP_NOMOVE or _SWP_NOSIZE
  22.  
  23.     open "user" for dll as #user
  24.  
  25.     calldll #user, "SetWindowPos", _
  26.         mainH as ushort, _
  27.         toTop as short, _
  28.         0 as short, _
  29.         0 as short, _
  30.         0 as short, _
  31.         0 as short, _
  32.         flags as ushort, _
  33.         result as void
  34.  
  35.     close #user
  36.  
  37.  
  38. [main.inputLoop]   'wait here for input event
  39.     input aVar$
  40.     goto [main.inputLoop]
  41.  
  42.  
  43.  
  44. [runFileManager]   'Perform action for the button named 'Fileman'
  45.  
  46.     open "kernel" for dll as #kernel
  47.  
  48.     calldll #kernel, "WinExec", _
  49.         "winfile.exe" as ptr, _
  50.         _SW_SHOWNA as word, _
  51.         result as word
  52.  
  53.     close #kernel
  54.  
  55.     goto [main.inputLoop]
  56.  
  57.  
  58. [beep]   'Perform action for the button named 'beep'
  59.  
  60.     open "user" for dll as #user
  61.  
  62.     calldll #user, "MessageBeep", _
  63.         1 as word, _
  64.         result as void
  65.  
  66.     h = hwnd(#main)
  67.     calldll #user, "CloseWindow", _
  68.         h as word, _
  69.         result as void
  70.  
  71.     calldll #user, "SetWindowText", _
  72.         h as word, _
  73.         "I was minimized!" as ptr, _
  74.         result as void
  75.  
  76.     close #user
  77.  
  78.     goto [main.inputLoop]
  79.  
  80.  
  81. [quit]   'Perform action for the button named 'quit'
  82.  
  83.     print #main.statictext1, "OK. Closing..."
  84.  
  85.     'pause for a moment
  86.     t$ = time$()
  87.     while t$ = time$() : wend
  88.  
  89.     close #main
  90.  
  91.     end
  92.  
  93.  
  94.